زندگی در آسمان نیلگون مایکروسافت
اگر پیگیر موضوعات دنیای کامپیوتر باشید، حتما نام رایانش ابری یا همان Cloud Computing را شنیده اید. اما آیا با امکاناتی که با استفاده رایانش ابری در اختیار شما قرار می گیرد یا سرویس دهنده ابری آشنا هستید؟
این بار میخواهیم نیم نگاهی به رایانش ابری و پلتفرم Windows Azure بیندازیم. ویندوز آژور (Azure) خدماتی از طرف مایکروسافت برای راهاندازی فعالیتهای مبتنی بر رایانش ابری است.
رایانش ابری
برای اینکه مقالهای که هماکنون در حال خواندن آن هستید را پیش ببریم، نیاز داریم مفاهیم پیرامون رایانش ابری را مروری داشته باشیم.
تصور کنید که میخواهید یک کیک خامهای خوشمزه بخورید؛ از همان کیکهایی که در جشنهای تولد یا مهمانیها سرو میشود. اینجا است که دو راه پیش رو خواهید داشت:
اولین راه این است که به فروشگاه لوازم قنادی بروید، لوازم و مواد مورد نیاز پختن کیک را بخرید. حالا نیاز است که یک فر یا مایکروفر داشته باشید. اما اگر همه اینها را تهیه کنید یا داشته باشید، اگر نحوه پخت کیک خامهای را ندانید، به شما کمکی نمیکند. اینجاست که باید به کتابفروشی بروید و یک کتاب آشپزی مخصوص تهیه کیک بخرید. سختی کار تازه شروع میشود؛ میپرسید چرا؟ خب معلوم است، باید بشینید سر فرصت کتاب را مروری داشته باشید و کیک دلخواه خود را پیدا کنید و نحوه پخت آن را بخوانید. در ادامه هم طبق دستورالعمل پیش بروید و کیک خود را با هزار زحمت درست کنید. اگر کیک خوب از آب در نیاید چی؟ تمام زحمتهایتان به هدر میرود. اگر هم مهمان داشته باشید که دیگر هیچ!
اما دومی راه که خیلی بیدردسر خواهد بود این است که بدون نیاز به داشتن نحوه تهیه کیک، به شیرینیپزی محله میروید و دقیقا کیکی را که دوست دارید سفارش میدهید. شیرینیپز هم که در پخت کیک تخصص دارد و روز به روز هم بر تجربیاتش افزوده میشود، کیک شما را با بهترین مواد و کیفیت، سر وقت تعیین شده میپزد. شما هم دیگر استرس و نگرانی نخواهید داشت و مطمئن هم خواهید بود که مهمانتان از کیک لذت میبرد.
میتوانیم این مثال را به دنیای کامپیوتر تعمیم دهیم. مثلا میخواهید یک سایت برای کسبوکار خود راه بیاندازید. اگر بخواهید خودتان این کار را انجام دهید، در ابتدا باید مطالعه زیادی در مورد طراحی وبسایت داشته باشید. سپس سایت خود را طراحی کنید و در ادامه یک سرور به عنوان میزبان (Host) سایت خریداری کنید. سرور را پیکربندی کنید و سایت خود را در آن راهاندازی کنید؛ تا اینجا دقیقا مثل پختن کیک توسط خودتان بوده است. از اینجا به بعد هم باید نگران این باشید که مشکلی برای سرور یا سایت شما پیش نیاید. یا مثلا به دلیل امنیت پایین، هکرها آن را از کار نیندازند. هر چند وقت یکبار هم بابت هزینه سرور اختصاصی پول نسبتا زیادی را پرداخت کنید.
در اینجا رایانش ابری به کمک کاربران خواهد آمد و نقش همان شیرینیپزی را ایفا میکند. شما با استفاده از خدمات رایانش ابری دیگر نیازی به دانستن اطلاعات در مورد طراحی سایت، مدیریت میزبان، سختافزارهای سرور و... ندارید و فقط سفارش خود را به سرویسدهنده ابری میدهید و بهترین خدمات را دریافت میکنید. دیگر هم نگرانی ندارید. چون سرورهای بسیار بزرگ ابری توسط متخصصان مجرب همان شرکت مراقبت میشود و تمام نرمافزارها و سختافزارهای سروری که از آن خدمات ابری دریافت میکنید به روز هستند. در واقع رایانش ابری یک دیوار حائل بین شمای کاربر و اطلاعاتی غیر ضروری که شما نیازی به دانستن آنها ندارید ایجاد میکند. این موردی که ذکر کردم فقط یکی از مزیتها و کاربردهای رایانش ابری است.
برای یک نمونه دیگر تصور داشته باشید که شما هماکنون نیاز به یک فضای 250 گیگابایتی برای ذخیره اطلاعات و فایلهای خود دارید. به فروشگاه کامپیوتری مراجعه میکنید و یک هارد 250 گیگابایتی که چند دههزار تومان قیمت دارد، خریداری میکنید. به محل کار خود برمیگردید و با دردسرهای فراوان آن را به کامپیوتر خود متصل و پیکربندی میکنید. سه ماه بعد دوباره این فضا پر میشود، و نیاز به 100 گیگابایت دیگر دارید. آیا باز هم به فروشگاه میروید و یک هارد دیگر میخرید؟ بعد از گذشت یک سال چه کار میکنید؟ اطلاعات مهم شما فقط روی همین هارد دیسکها قرار دارد و نسخه پشتیبان ندارد؛ اگر خدایی ناکرده اتفاقی رخ دهد و این هاردها خراب شوند چه میشود؟ و هزار اما و اگر دیگر.
ولی اگر از خدمات ابری استفاده کنید، با هزینه به مراتب کمتر، یک فضا 250 گیگابایتی خریداری میکنید و اطلاعات را از طریق اینترنت داخل این فضا نگهداری میکنید و مطمئن خواهید بود که امنیت آن بسیار بالا بوده و نسخه پشتیبانی همیشه وجود دارد. هر موقع هم که نیاز به فضای بیشتر باشد، فقط کافی است که هزینه اندکی پرداخت کنید و اضافه شدن فضا توسط سرویس دهنده ابری شما صورت میگیرد.
رایانش ابری راهی است که از طریق آن میتوان برای میزان ظرفیت ذخیرهسازی یا امکانات افزایش داد، و این افزایش بدون هزینه کردن برای زیرساخت جدید، آموزش متخصص یا خرید مجوز نرمافزارهای مورد نیاز امکانپذیر است. به طور کلی میتوان این برداشت را داشت که شرکتها یا افراد، تنها برای آنچه مصرف میکنند پول خواهند داد.
امکانات و سرویسهایی که رایانش ابری در اختیار قرار میدهد به دسته کلی تقیسیمبندی میشوند؛ درباره هر کدام توضیح مختصر و مثالی را مطرح میکنم:
1- نرمافزار به عنوان سرویس: Software as a Service که به اختصار به آن SaaS گفته میشود پرکاربردترین امکان رایانش ابری محسوب میشود. SaaS برنامههای کاربردیِ را به صورت یک سرویس روی خط (Online) و از طریق اینترنت در اختیار کاربران قرار میدهد. معمولا سرویسهای SaaS از طریق مرورگر قابل دسترس هستند و بدین ترتیب نیاز به نصب نرمافزارهای کاربردی روی کامپیوترهای کاربران از بین میرود و نگهداری و پشتیبانی را سادهتر میسازد.
شاید باورتان نشود ولی هماکنون به صورت ناخودآگاه از خدمات مبتنی بر SaaS استفاده میکنید. از سرویسهای ایمیل یا شبکههای اجتماعی گرفته تا برنامههای کاربری وب مانند روتوش آنلاین عکس همگی جزو دسته نرمافزار به عنوان سرویس هستند.
۲- پـلتفرم به عـنوان سرویس : نـــام اصــلی آن Platform as a Service بوده که با نام اختصاری PaaS از آن یاد میشود. در این سرویس مشتری خدمات PaaS را از سرویسدهندههای ابری خریداری میکند که که این امکان را در اختیار او میگذارد که بنا بر نیاز خود برنامههای کاربردی طراحی یا خریداری شده توسط خود را بر روی پلتفرمی ابری خود قرار دهد. شرکت گوگل با سرویس Salesforce نمونهای از این خدمات محسوب میشود.
۳- زیرساخت به عنوان سرویس: این خدمات را با نام اختصاری این خدمات IaaS یاد میکنند که برگرفته از عبارت انگلیسی Infrastructure as a Service است. امکانی که برای مشتری فراهم آوری شده توان پردازشی، فضای ذخیرسازی، شبکهها و دیگر منابع پایهای رایانشی است به گونهای که مشتری میتواند نرمافزار دلخواه خود که میتواند شامل سیستمهای عامل و برنامههای کاربردی باشد را زیرساخت یا همان سختافزارهای اختصاصی خود است، پیکربندی و اجرا کند.
ویندوز آژور
مایکروسافت در کنفرانس توسعهدهندههای 2008 پلتفرم ابری خود را با نام ویندوز نیلی یا همان ویندوز آژور معرفی کرد. آژور یک پلتفرم ابری از طرف مایکروسافت است که امکان این را فراهم میکند که برنامههای کاربردی تحت وب را ایجاد، میزبانی و مقیاسپذیر کند. برای نمونه اگر شما برنامهنویس باشید، میتوانید برنامه وبی خود را تحت این پلتفرم بنویسید و در فضای ابری خود قرار دهید. یکی از مهمترین ویژگی ویندوز آژور پشتیبانی آن توسط متخصصین مایکروسافت و همچنین قرارگیری اطلاعات شما در دیتاسنترهای بزرگ این شرکت است. گمان نمیکنم کسی بدش بیاید که مایکروسافت اطلاعات او را پشتیبانی کند.
آژور در واقع جزو دسته خدمات PaaS قرار میگیرد و سرویس میدهد. اما این قابلیت را دارد که با خدمات SaaS مایـــکروسافت مــــانند Exchange Online یا SharePoint Online یکپارچهسازی شود.
خدمات مایکروسافت در سرویس آژور شامل دو دسته است:
1- Windows Azure (یک سیستم عامل با نام آژور که امکان محاسبات و ذخیرهسازی قابل مقیاسپذیر را فراهم میکند). منظور اصلی از کلمه "مقیاسپذیر" این است که کاربر بر حسب نیاز خود میتواند فضا و قدرت محاسبه خریداری کند. مثلا فضایی که کسی فقط برای ذخیرهسازی اطلاعات شخصی خود را در ابر مایکروسافت نیاز دارد، بسیار کمتر از فضای مورد نیاز اطلاعات یک شرکت است؛ در نتیجه بهای کمتری میپردازد.
2- SQL Azure (یک نسخه ابری و قابل مقیاسپذیر از SQL Server). اSQL Server پایگاه داده مایکروسافت است که سیکوئل آژور یک نسخه فرزند از آن محسوب میشود که برای کارهای ابری مورد استفاده قرار میگیرد.
پلتفرم آژور تمامی برنامههای کاربردی نوشته شده بر اساس .Net که با CLR کامپایل میشوند را قادر است اجـرا کند (شــامل بـــرنامـــههای ASP.Net). علاوه بر اینها این پلتفرم وبسایتهای نوشته شده با زبان PHP را نیز اجرا میکند.
یکی از مهمترین خصوصیتهایی که رایانش ابری در اختیار کاربران قرار میدهد این است که تقریبا همیشه کاربران به اطلاعات خود دسترسی دارند. اطلاعات و برنامهها در چند دیتاسنتر همزمان قرار میگیرد و در صورت خرابی هر کدام، مطمئن هستند که دیتاسنتر دیگری وجود داردکه سرویس دهد.
حتما برایتان جالب خواهد بود که بدانید مایکروسافت 6 دیتاسنتر اصلی برای آژور در سرتاسر دنیا دارد که هر کدام از این دیتاسنترها 1800 تا 2500 سرور را شامل میشود. علاوه بر این دیتاسنترها مایکروسافت 24 گره یا همان Node دیگر به عنوان شبکه دسترسی به اطلاعات به طور پراکنده در 17 کشور مختلف را فراهم کرده است. اما آن 6 دیتاسنتر اصلی آژور در این مناطق قرار دارند:
آمریکای شمالی: شیکاگو،سنت آنتونیو
آسیا:هنگ کنگ،سنگاپور
اروپا:آمستردام – هلند،دوبلین – ایرلند
امکانات
ویندوز آژور در وبسایت رسمی این سرویس به آدرس microsoft.com/windowsazure قابل دسترسی است. در این سایت به برجستهترین امکاناتی که آژور برای کاربران فراهم میآورد اشاره شده است. برخی از این امکانات به شرح زیر هستند:
رایانش
توسعهدهندههای برنامههای کاربردی تحت وب، قادر هستند که برنامههای خود را در یک مقیاس جهانی و به صورت زنده، آزمایش کنند. آنها میتوانند برنامههای خود را در پلتفرم آژور خود آپلود کنند و در همان لحظه اجرا کنند و مطمئن شوند که به خوبی کار میکنند.
همچنین ماشینهای مجازی (Virtual Machines)هایی وجود دارد که محیط اجرا شدن را شبیهسازی میکنند.
پایگاه داده
سکوئل آژور (SQL Azure) یک نسخه تغییر یافته از پایگاه داده مایکروسافت یعنی SQL Server محسوب میشود که برای کاربری ابری تهیه شده است. به دلیل اینکه سکوئل آژور از خانواده سکوئل سرور محسوب میشود، توسعهدهندهها به راحتی میتوانند خود را با آن تطبیق دهند و از قابلیتهای آن در برنامههای کاربردی خود بهره ببرند.
شبکه مجازی
یکی از سرویسهای جدید آژور شبکه مجازی است که دو امکان را برای کاربران فراهم میکند:
1- Windows Azure Connect: با این ابزار امکان ایجاد ارتباط شبکهای بر اساس آیپی به وجود میآید
2-Windows Azure Traffic Manager: با این امکان، مشتریان آژور میتوانند ترافیک سایت خود را روی میزبانهای خود تقسیم کنند.
ذخیرهسازی
آژور دست شما را برای ذخیرهسازی انواع دادهها باز گذاشته است. اگر اطلاعات شما باینری هستند، کافی است که از سرویس ذخیرهسازی باینری آن استفاده کنید. یا برای مثال اگر نیاز به یک درایو ابری دارید، به طرق مختلف میدهید درایو آنلاین خود را داشته باشید. کافی است بر حسب نیاز خود سرویس ذخیرهسازی مناسب را انتخاب و سفارش دهید.
فروشگاه
فروشگاه آژور سرویسی است که توسعهدهندگان نرمافزارهای کاربردی میتوانند در آن به دنبال کدها، قالبها، کامپوننتها و... بروند یا برنامههای تولیدی خود را به اشتراک بگذارند یا بفروشند. فروشگاه آژور به دو بخش کلی Data Market و App Market تقسیمبندی میشود.
چگونه شروع کنیم
اگر به کار کردن با ابر علاقه دارید، باید از یک جایی شروع کنید. یکی از بهترین گزینههای پیشرو کار کردن با پلتفرم ویندوز آژور است. اگر با ASP.Net تا کنون برنامهنویسی کردهاید، به راحتی میتوانید برنامه تحت وب خود که مبتنی بر آژور هستند را توسعه دهید. برای شروع کار باید Visual Studio 2010 را روی سیستم خود نصب داشته باشید. سپس به آدرس زیر مراجعه کرده و بسته ابزاری ویندوز آژور (Windows Azure Tools) را برای ویژوال استودیو 2010 را دریافت و نصب کنید.
microsoft.com/windowsazure/getstarted
حالا همه چیز آماده است که اولین برنامه خود برای این پلتفرم را بنویسید.
1- روی آیکون برنامه ویژوال استودیو کلیک راست کنید و گزینه Run as administrator را بزنید.
2- از منوی File گزینه New و سپس گزینه Project را کلیک کنید.
3- پنجره محاورهای با نام New Project خواهید دید. در این پنجره ابتدا به Installed Templates #، Visual C بروید و روی Cloud کلیک کنید.
4- Windows Azure Project را کلیک کنید. اگر لازم است مقدار فیلد Location: را به مسیری که برنامه خود را در آن ذخیره میکنید، تغییر دهید. در نهایت Ok را کلیک کنید.
5- داخل پنجره محاورهای New Windows Azure Project به داخل #Visual C بروید و ASP.NET Web Role را انتخاب کنید. در ادامه روی نماد < کلیک کنید. با این کار یک web role به پروژه آژور شما اضافه میشود. web role محیطی را فراهم میآورد که با استفاده از آن سایت یا برنامه شما تحت IIS اجرا شود. دوباره در اینجا روی Ok کلیک کنید.
6- حالا میبایست کد بالا را در پروژه آژور خود وارد کنید و فایل Default.asp را ذخیره کنید. این کد یک برنامه با کارکرد ابری نیست و صرفا به عنوان مثالی برای شروع برنامهنویسی برای آژور از آن استفاده میکنیم. هنگامی که کد بالا را کامپایل کنید، عبارت زیر را خواهید دید:
Welcome to Windows Azure World!
7- با کلیک روی دکمه Debug برنامه را کامپایل و اجرا کنید. سپس برای دیدن کار نهایی خود دکمه Start Without Debugging را فشار دهید.
تبریک میگویم؛ شما اولین برنامه خود برای پلتفرم ویندوز آژور را نوشتید.
مهرداد خدّامی
ictnews.com